// Generated from E:/dev/jparser/src/main/java/me/caosh/jparser\Java.g4 by ANTLR 4.5.3
package me.caosh.jparser.parser;

import java.util.*;
import me.caosh.jparser.model.*;

import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link JavaParser}.
 */
public interface JavaListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link JavaParser#java}.
	 * @param ctx the parse tree
	 */
	void enterJava(JavaParser.JavaContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#java}.
	 * @param ctx the parse tree
	 */
	void exitJava(JavaParser.JavaContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#packageName}.
	 * @param ctx the parse tree
	 */
	void enterPackageName(JavaParser.PackageNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#packageName}.
	 * @param ctx the parse tree
	 */
	void exitPackageName(JavaParser.PackageNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#packag}.
	 * @param ctx the parse tree
	 */
	void enterPackag(JavaParser.PackagContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#packag}.
	 * @param ctx the parse tree
	 */
	void exitPackag(JavaParser.PackagContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#imports}.
	 * @param ctx the parse tree
	 */
	void enterImports(JavaParser.ImportsContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#imports}.
	 * @param ctx the parse tree
	 */
	void exitImports(JavaParser.ImportsContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#imprt}.
	 * @param ctx the parse tree
	 */
	void enterImprt(JavaParser.ImprtContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#imprt}.
	 * @param ctx the parse tree
	 */
	void exitImprt(JavaParser.ImprtContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#clazz}.
	 * @param ctx the parse tree
	 */
	void enterClazz(JavaParser.ClazzContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#clazz}.
	 * @param ctx the parse tree
	 */
	void exitClazz(JavaParser.ClazzContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#annotation}.
	 * @param ctx the parse tree
	 */
	void enterAnnotation(JavaParser.AnnotationContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#annotation}.
	 * @param ctx the parse tree
	 */
	void exitAnnotation(JavaParser.AnnotationContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#annotationParam}.
	 * @param ctx the parse tree
	 */
	void enterAnnotationParam(JavaParser.AnnotationParamContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#annotationParam}.
	 * @param ctx the parse tree
	 */
	void exitAnnotationParam(JavaParser.AnnotationParamContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#member}.
	 * @param ctx the parse tree
	 */
	void enterMember(JavaParser.MemberContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#member}.
	 * @param ctx the parse tree
	 */
	void exitMember(JavaParser.MemberContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#field}.
	 * @param ctx the parse tree
	 */
	void enterField(JavaParser.FieldContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#field}.
	 * @param ctx the parse tree
	 */
	void exitField(JavaParser.FieldContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#method}.
	 * @param ctx the parse tree
	 */
	void enterMethod(JavaParser.MethodContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#method}.
	 * @param ctx the parse tree
	 */
	void exitMethod(JavaParser.MethodContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#type}.
	 * @param ctx the parse tree
	 */
	void enterType(JavaParser.TypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#type}.
	 * @param ctx the parse tree
	 */
	void exitType(JavaParser.TypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#parameter}.
	 * @param ctx the parse tree
	 */
	void enterParameter(JavaParser.ParameterContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#parameter}.
	 * @param ctx the parse tree
	 */
	void exitParameter(JavaParser.ParameterContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#document}.
	 * @param ctx the parse tree
	 */
	void enterDocument(JavaParser.DocumentContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#document}.
	 * @param ctx the parse tree
	 */
	void exitDocument(JavaParser.DocumentContext ctx);
	/**
	 * Enter a parse tree produced by {@link JavaParser#methodDocument}.
	 * @param ctx the parse tree
	 */
	void enterMethodDocument(JavaParser.MethodDocumentContext ctx);
	/**
	 * Exit a parse tree produced by {@link JavaParser#methodDocument}.
	 * @param ctx the parse tree
	 */
	void exitMethodDocument(JavaParser.MethodDocumentContext ctx);
}